/**
 *	7.编写一个函数从一个字符串中除去多余的空白，函数原型如下
 *	void deblank(char string[]);
 *	当函数发现一个或多个地方有一个或连续多个的空格组成，就把它们改成单个字符，
 *	注意当你遍历整个字符串时要确保它以NUL字符结尾
**/

#include <stdio.h>

void deblank(char string[]);

int main()
{
	char str[] = "This     is    first line";
	
	printf("str_old = %s\n", str);
	deblank(str);
	printf("str_new = %s\n", str);
	
	return 0;
}

void deblank(char string[])
{
	int i, j, k;
	int flag = 0;
	
	for(i = 0; string[i]; i++)
	{
		if(string[i] == ' ' && flag)
		{
			j = i + 1;
			while(string[j] == ' ')
				j++;
			for(k = i; string[j]; k++, j++)
				string[k] = string[j];
			string[k] = '\0';
		}
		
		if(string[i] == ' ')
			flag = 1;
		else 
			flag = 0;
	}
}
